Many companies leverage computer systems and software applications to improve their efficiency and organization in business. Often these systems are integrated together allowing information from one software application or system to be used or analyzed by another software application or system. Benefits associated with integrating and using these computer systems and software in business are numerous and include tighter control over inventory, improved financial forecasting, expedited internal and external information-flow and sales force automation.
Initially, the many benefits of having integrated applications and computer systems justify the cost of hiring a large information technology (IT) staff. These IT staff members may develop custom code and procedures to keep these computer systems operational and communicating with each other. As the computer systems and applications grow, so do the costs of managing an increasing larger IT staff. Eventually, the cost of managing the IT staff outstrips the medium to long-term cost-benefit of having the integrated computer systems.
In many cases, the complexity of integrating these large computer systems and software applications is a cost-prohibitive task. Systems integration projects increasingly require individuals with specialized knowledge of applications, protocols, communications, hardware and other areas. Consequently, customized development is completed using consultants or outsourced to system integrators that specialize in integrating large scale systems. The solutions involve integrating the data and business logic between several existing applications and frequently involve complex solutions. Because the work is outsourced and complex, these customized solutions are often expensive and difficult to complete in a reasonable time frame.
In attempt to reduce costs and expedite the integration, many companies are exploring system integration tools/methodologies as an alternative to customized software development. These solutions include enterprise application integration (EAI) solutions and application server technologies. The EAI solution provides a solution to some of the system integration problems but requires a company to commit to a proprietary platform. Despite these efforts, many of the EAI solutions remain complicated to use and understand. For example, conventional EAI solutions do not necessarily give a user any guidance in starting the integration process or the necessary steps to perform.